03-RDS생성

RDS 데이터베이스 생성

웹 애플리케이션에서 사용할 MySQL 데이터베이스를 RDS로 생성합니다.

전제조건

1. RDS 서브넷 그룹 생성

RDS 인스턴스가 사용할 서브넷들을 그룹으로 묶어줍니다.

RDS 콘솔 접속 및 서브넷 그룹 생성

  1. AWS 콘솔에서 RDS 서비스 접속
  2. 왼쪽 메뉴에서 "Subnet groups" 클릭
  3. "Create DB subnet group" 클릭

서브넷 그룹 설정

Name: webapp-db-subnet-group

Description: Subnet group for webapp database

VPC: webapp-vpc 선택

가용 영역 및 서브넷 추가

Availability Zones:

Subnets:

서브넷 그룹 생성 완료

"Create" 클릭하여 서브넷 그룹 생성을 완료합니다.

2. RDS 보안 그룹 생성

데이터베이스에 접근할 수 있는 트래픽을 제어하는 보안 그룹을 만듭니다.

EC2 콘솔에서 보안 그룹 생성

  1. EC2 콘솔네트워크 및 보안보안 그룹
  2. "보안 그룹 생성" 클릭

보안 그룹 기본 설정

보안 그룹 이름: webapp-db-sg

설명: Security group for webapp database

VPC: webapp-vpc 선택

인바운드 규칙 추가

"인바운드 규칙 추가" 클릭하여 다음 규칙을 추가합니다:

규칙 1: EC2에서의 접근 허용

규칙 2: 개발/테스트용 접근 (선택사항)

보안 그룹 생성 완료

"보안 그룹 생성" 클릭합니다.

3. RDS 인스턴스 생성

실제 MySQL 데이터베이스를 생성합니다.

RDS 인스턴스 생성 시작

  1. RDS 콘솔에서 "Databases" 클릭
  2. "Create database" 클릭

생성 방법 선택

Database creation method: Standard create 선택

엔진 설정

Engine type: MySQL 선택

Engine Version: MySQL 8.0.35 (또는 최신 안정 버전)

템플릿

Templates: Free tier 선택

설정

DB instance identifier: webapp-db

Master username: admin

Master password: webapp123!

Confirm password: webapp123!

중요: 이 비밀번호는 나중에 애플리케이션에서 사용하므로 기억해두세요!

인스턴스 구성

DB instance class: db.t3.micro (프리 티어)

스토리지

Storage type: gp2

Allocated storage: 20 GiB (프리 티어 한도)

Enable storage autoscaling: 체크 해제

연결

Virtual private cloud (VPC): webapp-vpc

DB subnet group: webapp-db-subnet-group

Public access: No (보안을 위해 비공개로 설정)

VPC security groups: Choose existing

Availability Zone: No preference

Database port: 3306

데이터베이스 인증

Database authentication: Password authentication

추가 구성

Initial database name: webapp_db

DB parameter group: default.mysql8.0

Option group: default:mysql-8-0

Backup retention period: 1 day

Delete protection: 체크 해제 (실습용)

RDS 인스턴스 생성

"Create database" 클릭합니다.

4. RDS 생성 완료 대기

RDS 인스턴스 생성에는 약 5-10분이 소요됩니다.

생성 상태 확인

  1. RDS 콘솔에서 "Databases" 메뉴 확인
  2. webapp-db 인스턴스의 StatusAvailable로 변경될 때까지 대기

엔드포인트 정보 확인

인스턴스가 Available 상태가 되면:

  1. webapp-db 인스턴스 클릭
  2. "Connectivity & security" 탭에서 Endpoint 정보 복사
  3. 예시: webapp-db.cx6mc24eklg5.ap-northeast-3.rds.amazonaws.com

중요: 이 엔드포인트 주소는 다음 단계에서 사용하므로 메모해두세요!

5. 연결 테스트

EC2에서 생성된 RDS에 접속할 수 있는지 확인합니다.

EC2에 MySQL 클라이언트 설치

# EC2 인스턴스에 SSH 접속 후 실행
sudo yum update -y 
sudo yum install mariadb105 -y 

# 설치 확인 
mysql --version

RDS 연결 테스트

# MySQL 클라이언트로 RDS 접속 테스트
# 여러분의 실제 엔드포인트로 교체하세요!
mysql -h webapp-db.cx6mc24eklg5.ap-northeast-3.rds.amazonaws.com -u admin -p

# 비밀번호 입력: webapp123!

연결 성공 확인

연결이 성공하면 MySQL 프롬프트가 나타납니다:

-- 데이터베이스 목록 확인
SHOW DATABASES;

-- webapp_db 데이터베이스 사용
USE webapp_db;

-- 테이블 목록 확인 (아직 비어있음)
SHOW TABLES;

-- 연결 종료
quit

완료 체크리스트

중요 정보 정리

다음 단계에서 사용할 정보들을 정리해두세요:

RDS 연결 정보:


RDS 생성 완료! 이제 웹 애플리케이션에서 사용할 데이터베이스가 준비되었습니다.

다음 단계: AWS EDU/Archive/조선대학교 AWS 멘토링/Week2-Dynamic-WebApp-Deployment/03-기본실습-NodeJS/04-RDS연결업그레이드로 이동하여 Hello World 서버를 실제 데이터베이스 연결 웹 애플리케이션으로 업그레이드합니다.


관련 문서: AWS EDU/Archive/조선대학교 AWS 멘토링/Week2-Dynamic-WebApp-Deployment/Week2-전체가이드, AWS EDU/Archive/조선대학교 AWS 멘토링/Week2-Dynamic-WebApp-Deployment/03-기본실습-NodeJS/02-NodeJS설치배포